A technical specification is the basis for the implementation of a technical system. A technical specification may include one or more system requirements documents, as well as additional system specification documents (e.g., system design documents defined using the system requirements documents) which further define the technical system. Currently, technical specifications are typically created using word processing applications (such as Microsoft WORD, Adobe FRAMEMAKER, and other such applications), and, after being created, technical specifications may be managed using technical specification management systems (such as Telelogic DOORS and other such systems). Disadvantageously, however, existing word processing applications and requirement management systems merely support revisioning, in which older versions of a technical specification object (e.g., a requirements document or a requirement data set) can be retrieved if needed. Furthermore, although existing requirement management systems provide linking support which enables logical linking between requirements, all requirements must be created first and linked together later.
Using existing word processing applications and requirement management systems, the only chance to speed up the specification creation and modification process is using copy-paste-modify functions. As the technical system is implemented, the associated technical specification (either entire documents or parts of different documents) tends to be copied, pasted, and modified in order to further define the technical specification (e.g., further defining existing requirements and technical details, as well as generating new requirements and technical details in existing specification documents or newly created specification documents). As the technical specification is modified during the implementation process, technical specification documents must be generated and modified. While logic links between requirements may help system designers identify all requirements and design objects derived from the modified requirement, all updates must still be performed manually. This manual process consumes significant development resources and significantly increases the likelihood of introducing design mistakes and inconsistencies which may impact system design cost, system stability, and other important design considerations.